
// #include <iostream>
// using namespace std;

// int main()
// {
//     int pipefd[2] = { 0 };
//     int ret = pipe(pipefd); // 打开一个进程文件
//     if(ret == -1) return -1;

//     pid_t pid = fork(); 
//     if(pid == -1) return -1;
//     else if(pid) // 子进程
//     {
//         // 子进程关闭读操作;
//         close(pipefd[0]);
//         int cnt = 0;
//         while(1)
//         {
//             // 拼接字符串
//             char buffer[1024] = { 0 };
//             snprintf(buffer,sizeof(buffer) - 1,"父进程你好啊！我要给你写东西了,cnt=%d\n",cnt++); // 留一个位置写'\0'
//             // 写入信息到管道文件
//             write(pipefd[1],buffer,strlen(buffer)); // 不写入反斜杠0
//             sleep(3); // 写完之后我要休息三秒
//         }
//         close(pipefd[1]);
//         return 0; // 子进程退出
//     }
//     // 父进程关闭写操作;
//     close(pipefd[1]);
//     while(1)
//     {
//         char buffer[1024] = { 0 };
//         read(pipefd[0],buffer,sizeof(buffer) - 1); // 留一个位置写'\0'
//         printf("%s",buffer);
//         printf("我读取到一个消息啦\n");
//     }

//     return 0;
// }